# -*- coding: utf-8 -*-

"""
Nome do modulo: aula5.py
Autor: Soraia Janeiro
Data: 24/10/2013
Obs: classe1
"""

class Cartao:
	"""
	uma classe que representa o conceito de cartao
	"""
	entidade = "" #uma variável da classe
	
	def __init__(self, numero=0):
		""" constructor """
		self.numero = numero # variável de instancia
		
	def __str__(self):
		"""resultado da impressao de um objecto"""
		return "numero {0}".format(self.numero)
		
#instancias da classe
obj1 = Cartao(123456789)
obj2 = Cartao(7843972)
Cartao.entidade = "Governo"
print obj1, obj1.entidade
print obj2, obj2.entidade
		

"""
Obs: classe2
"""
#função definida fora da classe: mau codigo
def f1(self, x, y):
	return min(x, y)
class C:
	f = f1
obj = C()
print obj.f(2,4)
class Saco:
	def __init__(self):
		self.data = []
	def add(self, x):
		self.data.append(x)
	def add2(self, x):
		self.add(x)
		self.add(x)

obj = Saco()
obj.add2("arroz ")
print obj.data


"""
Obs: classe3
"""
#alguma informação sobre classes
class Fruta:
	"""documentação da classe fruta"""
	def __init__(self, tipo):
		"""inicializa com tipo de fruta"""
		self.tipo = tipo
	def citrino(self, citrus=False):
		""" por defeito __citrus == False """
		self.__citrus = citrus
print Fruta.__doc__
obj = Fruta("pessego")
print obj.__class__
